Yao Studio 介绍
Yao
未提供Yao Studio
图形化拖拉拽的界面。但是有Studio 命令
/Studio API
。
Studio
脚本拥有最高的执行权限(root)
。可以操作应用目录下所有的数据文件与脚本文件。利用这一点,可以进行代码生成代码的操作。
Studio
目录
Yao 应用目录下有一个/studio
的目录,Studio
函数与命令只能调用这个目录下的js
脚本。在studio
目录下的js
脚本可以访问文件系统所有的命名空间: system
,dsl
,script
。
//system /data/app/data 应用数据
function ReadFile() {
let fs = new FS('system');
let data = fs.ReadFile('/f1.txt'); // /data/app/data/f1.txt
return data;
}
//dsl 除 scripts 外的所有目录(仅 Studio 脚本可用)
function ReadFile() {
let fs = new FS('dsl');
let data = fs.ReadFile('/models/f1.mod.json'); // /data/app/models/f1.mod.json
return data;
}
//script 脚本目录(仅 Studio 脚本可用)
function ReadFile() {
let fs = new FS('script');
let data = fs.ReadFile('/f1.js'); // /data/app/scripts/f1.js
return data;
}
Yao Studio 命令
Yao Studio命令
用来执行/studios
目录下的所有的脚本。注意:该命令只允许在YAO_ENV=development
模式下运行
Studio
并不是一个单独的命令,而是Yao
的一个子命令,命令的调用方式如下。
# 脚本名字 ScriptName
# 方法名称 Method
# 参数列表 param1 param2
yao studio run ScriptName.Method param1 param2
Studio JS API
在js
脚本统一使用函数Studio
中调用/studio
目录下的脚本的函数。调用方法像其它的js
函数一样。
//参数一是脚本名字.函数名
//参数二开始是函数的参数列表。
const data = Studio('file.DotName', modelName);
Studio WEB API
Studio
脚本函数也可以通过web rest api
接口调用。不过跟一般的api
接口调用不一样,它有单独的端口与入口。
Studio api
请求的基础路由地址:http://127.0.0.1:5077/service/
,端口可以通过环境变量YAO_STUDIO_PORT
进行配置,比如在.env
文件中修改。
如果需要调用脚本函数model.CreateOne
,按以下的格式调用。
curl -X POST http://127.0.0.1:5077/service/model \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <Studio JWT>' \
-d '{ "args":["yao.demo.pet"],"method":"CreateOne"}'
url
中的model
是脚本名称,脚本函数访问与参数放在请求的payload
里。
在Xgen action
中调用
Xgen
已经封装了Studio
脚本函数的调用方法
如果需要在xgen
表单界面上调用studio
接口。在form.json
配置中增加action
配置。
注意只能使用管理员账号登录才能自动获取到studio
的token
{
"title": "重新生成代码",
"icon": "icon-layers",
"showWhenAdd": true,
"showWhenView": true,
"action": [
{
"name": "StudioModel",
"type": "Studio.model", //类型名称设置成studio.脚本名称
"payload": {
//访问与参数
"method": "CreateOne",
"args": ["cms.help"]
}
},
{
"name": "Confirm",
"type": "Common.confirm",
"payload": {
"title": "提示",
"content": "处理完成"
}
}
]
}
基于 Studio 开发的应用
Yao-admin,
Yao
官方开发的根据数据库结构生成Yao应用
的应用。这个版本目前是适用于0.10.2
版本Yao
Yao-Admin,基于官方的应用适配的
Yao 0.10.3
版本根据模型创建表格与表单,根据模型定义生成界面配置文件。比如执行下面的代码,能根据你的模型定义生成界面
Table/Form
配置文件。需要下载安装插件脚本。shyao studio run init.CreateTable pet